Geology · Gossan & Iron Oxide Mapping

GOSSAN – Combined Ferric & Ferrous Iron Index

The GOSSAN index combines ferric and ferrous iron signals to enhance oxidized caps, iron-rich alteration zones and gossans associated with mineralization.

1. Scientific Definition

The GOSSAN Index is a composite indicator designed to highlight iron-rich weathered caps and oxidation zones by integrating both ferric (Fe³⁺) and ferrous (Fe²⁺) spectral responses.

Component Indices

FERROUS = (SWIR − NIR) / (SWIR + NIR)

FERRIC = (Red − Blue) / (Red + Blue)

GOSSAN Formula

GOSSAN = (FERROUS + FERRIC) / 2

Interpretation

  • High GOSSAN values → strong iron-oxide/iron-bearing alteration, gossans
  • Low / negative values → vegetation, water, non-altered rocks

Applications

  • Gossan mapping above sulfide ore bodies
  • Hydrothermal alteration and iron oxidation halos
  • Prospecting in arid and semi-arid terrains

2. Required Bands

Sentinel-2

  • Blue → B2
  • Red → B4
  • NIR → B8
  • SWIR → B11 (or B12 as alternative)

Landsat 8/9 (equivalent)

  • Blue → B2
  • Red → B4
  • NIR → B5
  • SWIR1 → B6

Suggested Palette

[ "#0b1220", "#3c2f3b", "#7c4a47", "#c47a4f", "#f2c27b" ]

3. Google Earth Engine Code – GOSSAN Index


// GOSSAN Index = (FERROUS + FERRIC) / 2
// FERROUS = (SWIR - NIR) / (SWIR + NIR)
// FERRIC  = (Red  - Blue) / (Red  + Blue)

var roi = geometry;
Map.centerObject(roi, 10);

// Sentinel-2 SR
var s2 = ee.ImageCollection("COPERNICUS/S2_SR")
  .filterBounds(roi)
  .filterDate("2023-01-01", "2023-12-31")
  .filter(ee.Filter.lt("CLOUDY_PIXEL_PERCENTAGE", 20))
  .select(["B2","B4","B8","B11"]); // Blue, Red, NIR, SWIR

var img = s2.median().clip(roi);

// FERROUS index
var ferrous = img.expression(
  "(S - N) / (S + N)",
  {
    "S": img.select("B11"), // SWIR
    "N": img.select("B8")   // NIR
  }
).rename("FERROUS");

// FERRIC index
var ferric = img.expression(
  "(R - B) / (R + B)",
  {
    "R": img.select("B4"),  // Red
    "B": img.select("B2")   // Blue
  }
).rename("FERRIC");

// GOSSAN index (average of FERROUS and FERRIC)
var gossan = ferrous.add(ferric).divide(2).rename("GOSSAN");

var vis = {
  min: -1,
  max: 1,
  palette: ["#0b1220","#3c2f3b","#7c4a47","#c47a4f","#f2c27b"]
};

Map.addLayer(gossan, vis, "GOSSAN Index");

// Optional: highlight high gossan response
var gossanMask = gossan.gt(0.2).selfMask();
Map.addLayer(gossanMask, {palette:["#ffcc00"]}, "High GOSSAN Zones", false);

// Export
Export.image.toDrive({
  image: gossan,
  description: "GOSSAN_export",
  fileNamePrefix: "GOSSAN_Index",
  region: roi,
  scale: 20,
  crs: "EPSG:4326",
  maxPixels: 1e13
});